Data processing for analytical or monitoring/reporting purposes ranging from simple accounting or storage of collected sample values to complex calculations or advanced queries to complex data structures generates results which are presented graphically/visually to a user. Thereby the user is able to interpret the results and make decisions based on them. This may be irrespective of whether they are presented in textual form or in a graph form.
The graphical/visual presentation of data is greatly influenced by the type of graphical/visual means applied to make the presentation and layout properties of the graphical/visual means. For textual presentations the means may comprise text sections, headings, tables with columns and rows, etc. The layout properties may comprise font size, line spacing, etc. For graphical presentations the means may comprise different types of charts and diagrams such as bar charts, line charts, pie charts, scatter charts, radar diagrams and other known diagrams or charts based on graphical elements. The layout properties may comprise tick marker spacing on an axis, legend font size, etc.
Typically, the presentation means are selected by a user from a so-called ‘report generator’ or a ‘chart wizard’, wherefrom default layout properties or user specified layout properties are selected before making the presentation.
Presentation means may be more or less suitable for making a presentation of a specific result with given contents, structure and format. Typically, the user is the only one to make a decision on that since it may require knowledge of the result, which is not present in the application wherein the presentation is made. However, the layout properties for specific presentation means are to some extent determined by properties of the physical medium on which the presentation is to be made. These properties are typically known to the application since knowledge of these properties is required to make the presentation. Therefore, the application can to some extent provide automatic setting of the layout properties. However, when it comes to layout properties which clearly are to be set in response to preferences of individual users and which may depend heavily of the content, structure and format of the result, it becomes critical to select a presentation automatically or semi-automatically.
Selecting either automatically or manually presentation properties may consequently degrade the quality of the presentation.
In some types of applications the result has a fixed structure and format which is presented by the same graphical/visual means. Thereby, it may be worth the effort to select the presentation means that gives the best interpretation of the result and select the layout properties that provide the best presentation quality.
However, in other types of applications the results may take different structures and formats which are presented by different graphical/visual means. Thereby, it may be an overwhelming task to select all possible combinations of presentation means and layout properties to be able to capture all different structures and formats which may be subject to a presentation.
Especially, in connection with presentation of results obtained by submitting a query to a database, the query to the database may generate results that can take so many different structures and formats that it may be practically impossible to capture all the combinations of a result for making an automatic or semi-automatic presentation.
The ever increasing data capacity of storage memories and the widespread use of databases increases the amount of time a user is confronted with the task of, on the one hand, making queries to databases; and on the other hand, selecting a presentation for the data retrieved by the query. Actually, data can be retrieved by natural language questions which can be submitted from a user interface and which are subsequently converted to queries that can be interpreted by a database. By using a natural language to subsequently form a query, a user is relieved from the, in this respect, tedious task of making a query requiring exact knowledge of both the structure of the database and the syntax of the query language.
Data processing techniques for analytical purposes are, contrary to data processing for transaction purposes, optimized with respect to providing a user with processors and presentation tools that can generate illustrations of the result of a specified analysis task.
Not only the data processing techniques, but also the data on which the analysis is to be based are often arranged with the special aim of supporting analysis purposes. This means that data are organised in a straight forward or flat organisation. This straight forward organisation of the data requires, however, a higher memory consumption and longer access time to the data when compared to organisation of data for transaction purposes. Typically, databases for analytical purposes comprise redundant data in that pre-computed aggregations of data are comprised in the database along with underlying data, ie data across which the aggregation(s) is/are performed. Thus, one can say that such a database represents data at different levels of granularity.
A well-recognised organisation of data for analysis purposes comprises multidimensional databases e.g. so-called cube databases, or simply Cubes, for OLAP, OnLine Analytical Processing, databases. However, various types of databases and other types of data structures can be used for analytical processing, including relational databases, flat file databases, XML (Extensible Markup Language) databases, etc. In these databases elements of data can be denoted data items and can be defined as a field in a specific record, a cell in a table or spreadsheet, or a delimiter or tag separated or fixed-length data entity.
Despite their different structures each of the data items in the databases can be categorized as being so-called measures or dimensions. From a data representation point of view there are prima facia no differences, but from a user's point of view, a data item of the measures type can be interpreted as a measure value given a specific condition specified by an associated value of a data item of the dimensions type. A value of a data item of the dimensions type is also recognised as a so-called dimension value or a criterion.
Hence, for instance a range of data items categorized as measures can represent sales figures in an organisation. These sales figures are given a meaning when associated with the specific conditions of the time instances at which the sales figures represent the sales in the organisation. The time instances are represented by means of the dimension values. By categorizing the data items in this way an additional and more abstract way of representing data is provided; this additional representation is also denoted meta-data. In the above example, time is thus a dimension and the sales figures are categorized as a measure.
The data processing techniques for analytical purposes operate on these data whatever the organisation of the data to provide a result of the analysis. For this purpose, an analysis task can be specified by a request to a database. The result of the analysis is then illustrated by means of a data report. The data report can be set up by a user who selects presentation objects and properties thereof by of a so-called ‘report generator’ or a ‘chart wizard’, wherefrom default layout properties or user-specified layout properties are selected before making the presentation.
In connection therewith it is a well-known situation that a user often uses some sort of trial-and-error for tuning, on the one hand, the specification of the analysis task and, on the other hand, the illustration of the result of the analysis. Therefore, a further specification of the analysis task and the illustration of the results are functions which more or less have merged into the same user interface for more or less simultaneous tuning of an analysis and the results thereof.